package com.myblog.secondjavaproject;

public class Student {
    //1.属性:属性通常是私有的
    private String id;
    private String name;
    private int age;

    //构造方法:当我们没有写构造方法时，系统会给一个默认构造方法
    //构造方法:1.方法名同类名 2.没有返回类型
    public Student() {
        id="413";
        name="张一";
        age=20;
    }

    //构造方法的重载:同名不同参
    //局部覆盖了全局:this 1.this.成员 2.this()
    public Student(String id,String name,int age) {
        //this();//构造方法可以在第一行调用其它的构造方法
        this.id=id;
        this.name=name;
        this.age=age;
        //this.show();在这里没有意义
    }

    //2.普通方法
    public void show(){
        System.out.println(id+","+name+","+age);
    }

    //设置姓名
    public void setName(String name) {
        this.name=name;
    }
    public String getName() {
        return name;
    }
    //设置年龄
    public void setAge(int age){
        this.age=age;
    }
    //获得年龄
    public int getAge() {
        return age;
    }
    //设置学号
    public void setId(String id) {
        this.id=id;
    }
    //获得学号
    public String getId() {
        return id;
    }

    public static void main(String [] args){
        com.myblog.secondjavaproject.Student s1 = new com.myblog.secondjavaproject.Student();//默认构造函数创建对象
        s1.setAge(22);//设置年龄
        System.out.println(s1.getAge());//输出设置的年龄
        s1.show();
        com.myblog.secondjavaproject.Student s2=new com.myblog.secondjavaproject.Student("415","张二",30);//重载构造函数的创建对象
        s2.show();
    }
}
